package cn.qy.kotlin.base

/**
 * null 可空性
 */
fun main() {
    // Kotlin 不允许给 signatureDrink 变量赋 null 值，因为变量属于非空类型（String）,除非加上 ? 变成可空类型
    val signatureDrink: String? = "Buttered Ale"
    // 使用安全调用操作符
    println(signatureDrink?.capitalize())
    // 安全调用操作符 组合 Elvis 运算符
    println(signatureDrink?.capitalize() ?: "is null")

    // 安全调用操作符 联合 let
    val beverage = signatureDrink?.let {
        if (it.isNotBlank()) {
            it.capitalize()
        } else {
            "Buttered Ale"
        }
    }
    println(beverage)
}